﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;

namespace XAPI.Domain
{
    /// <summary>
    /// Description - A user account on an existing system, such as a private system (LMS or intranet) or a public system 
    /// (social networking site).
    /// Requirements 
    /// - If the system that provides the account Object uses OpenID, the Activity Provider SHOULD use 
    /// the OpenID property instead of an account Object.
    /// - If the Activity Provider is concerned about revealing personally identifiable information about an 
    /// Agent or Group, it SHOULD use an opaque account name (for example an account number) to 
    /// identify all statements about a person while maintaining anonymity
    /// </summary>
    public class AccountObject
    {
        [Key]
        public int Id { get; set; }

        /// <summary>
        /// The canonical home page for the system the account is on. This is based on 
        /// FOAF's accountServiceHomePage.
        /// URI
        /// </summary>
        public string homepage { get; set; }

        /// <summary>
        /// The unique id or name used to log in to this account. This is based on 
        /// FOAF's accountName.
        /// </summary>
        public string name { get; set; }
    }
}
